<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/xhtml;charset=utf-8" http-equiv="Content-Type"/>
<meta content="IE=9" http-equiv="X-UA-Compatible"/>
<meta content="Doxygen 1.8.13" name="generator"/>
<title>OpenCV: Core functionality</title>
<link href="../../opencv.ico" rel="shortcut icon" type="image/x-icon"/>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script src="../../jquery.js" type="text/javascript"></script>
<script src="../../dynsections.js" type="text/javascript"></script>
<script src="../../tutorial-utils.js" type="text/javascript"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script src="../../search/searchdata.js" type="text/javascript"></script>
<script src="../../search/search.js" type="text/javascript"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
//<![CDATA[
MathJax.Hub.Config(
{
  TeX: {
      Macros: {
          matTT: [ "\\[ \\left|\\begin{array}{ccc} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{array}\\right| \\]", 9],
          fork: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ \\end{array} \\right.", 4],
          forkthree: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ \\end{array} \\right.", 6],
          forkfour: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ #7 & \\mbox{#8}\\\\ \\end{array} \\right.", 8],
          vecthree: ["\\begin{bmatrix} #1\\\\ #2\\\\ #3 \\end{bmatrix}", 3],
          vecthreethree: ["\\begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{bmatrix}", 9],
          cameramatrix: ["#1 = \\begin{bmatrix} f_x & 0 & c_x\\\\ 0 & f_y & c_y\\\\ 0 & 0 & 1 \\end{bmatrix}", 1],
          distcoeffs: ["(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]]) \\text{ of 4, 5, 8, 12 or 14 elements}"],
          distcoeffsfisheye: ["(k_1, k_2, k_3, k_4)"],
          hdotsfor: ["\\dots", 1],
          mathbbm: ["\\mathbb{#1}", 1],
          bordermatrix: ["\\matrix{#1}", 1]
      }
  }
}
);
//]]>
</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js" type="text/javascript"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css"/>
<link href="../../stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<!--#include virtual="/google-search.html"-->
<table cellpadding="0" cellspacing="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../opencv-logo-small.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenCV
    <span id="projectnumber">4.5.2</span>
   </div>
   <div id="projectbrief">Open Source Computer Vision</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script src="../../menudata.js" type="text/javascript"></script>
<script src="../../menu.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow" onkeydown="return searchBox.OnSearchSelectKey(event)" onmouseout="return searchBox.OnSearchSelectHide()" onmouseover="return searchBox.OnSearchSelectShow()">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe frameborder="0" id="MSearchResults" name="MSearchResults" src="javascript:void(0)">
</iframe>
</div>
<div class="header">
  <div class="summary">
<a href="#groups">Modules</a> |
<a href="#namespaces">Namespaces</a> |
<a href="#nested-classes">Classes</a> |
<a href="#typedef-members">Typedefs</a> |
<a href="#enum-members">Enumerations</a> |
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Core functionality</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:dc/d84/group__core__basic"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d84/group__core__basic.html">Basic structures</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:d2/df8/group__core__c"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/df8/group__core__c.html">C structures and operations</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:d2/de8/group__core__array"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/de8/group__core__array.html">Operations on arrays</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:da/d57/group__core__async"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d57/group__core__async.html">Asynchronous API</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:d4/da4/group__core__xml"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/da4/group__core__xml.html">XML/YAML Persistence</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:d5/d38/group__core__cluster"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d38/group__core__cluster.html">Clustering</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:db/de0/group__core__utils"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/de0/group__core__utils.html">Utility and system functions and macros</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:d2/d3c/group__core__opengl"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d3c/group__core__opengl.html">OpenGL interoperability</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:d6/dcf/group__core__ipp"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/dcf/group__core__ipp.html">Intel IPP Asynchronous C/C++ Converters</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:da/d01/group__core__optim"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d01/group__core__optim.html">Optimization Algorithms</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:de/dc1/group__core__directx"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dc1/group__core__directx.html">DirectX interoperability</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:d0/daf/group__core__eigen"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/daf/group__core__eigen.html">Eigen support</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:dc/d83/group__core__opencl"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d83/group__core__opencl.html">OpenCL support</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:d1/daa/group__core__va__intel"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/daa/group__core__va__intel.html">Intel VA-API/OpenCL (CL-VA) interoperability</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:de/d85/group__core__hal"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d85/group__core__hal.html">Hardware Acceleration Layer</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:d3/d89/group__core__parallel"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d89/group__core__parallel.html">Parallel Processing</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d7/db8/namespacecv_1_1traits"><td align="right" class="memItemLeft" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/db8/namespacecv_1_1traits.html">cv::traits</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d99/classcv_1_1Affine3.html">cv::Affine3&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Affine transform.  <a href="../../dd/d99/classcv_1_1Affine3.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dad/classcv_1_1BufferPoolController.html">cv::BufferPoolController</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/db4/classcv_1_1DualQuat.html">cv::DualQuat&lt; _Tp &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">cv::Quat&lt; _Tp &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d53/classcv_1_1QuatEnum.html">cv::QuatEnum</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga0b49177f52ed1b43e3f5a198baeee203"><td align="right" class="memItemLeft" valign="top">typedef <a class="el" href="../../dd/d99/classcv_1_1Affine3.html">Affine3</a>&lt; double &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga0b49177f52ed1b43e3f5a198baeee203">cv::Affine3d</a></td></tr>
<tr class="separator:ga0b49177f52ed1b43e3f5a198baeee203"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gae10a81cba3f3232648be48e28759a7bc"><td align="right" class="memItemLeft" valign="top">typedef <a class="el" href="../../dd/d99/classcv_1_1Affine3.html">Affine3</a>&lt; float &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#gae10a81cba3f3232648be48e28759a7bc">cv::Affine3f</a></td></tr>
<tr class="separator:gae10a81cba3f3232648be48e28759a7bc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga1713065384a5cd1ce3ecdff9ebf5cf6b"><td align="right" class="memItemLeft" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga1713065384a5cd1ce3ecdff9ebf5cf6b">cv::DualQuatd</a> = <a class="el" href="../../d4/db4/classcv_1_1DualQuat.html">DualQuat</a>&lt; double &gt;</td></tr>
<tr class="separator:ga1713065384a5cd1ce3ecdff9ebf5cf6b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga3decc28a45aaf3a829515f667b683979"><td align="right" class="memItemLeft" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga3decc28a45aaf3a829515f667b683979">cv::DualQuatf</a> = <a class="el" href="../../d4/db4/classcv_1_1DualQuat.html">DualQuat</a>&lt; float &gt;</td></tr>
<tr class="separator:ga3decc28a45aaf3a829515f667b683979"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga649715908b1dc7fc2496df48dd5fff64"><td align="right" class="memItemLeft" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">cv::Quatd</a> = <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; double &gt;</td></tr>
<tr class="separator:ga649715908b1dc7fc2496df48dd5fff64"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gab0a5d5b9880b016c8995411a572353e2"><td align="right" class="memItemLeft" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#gab0a5d5b9880b016c8995411a572353e2">cv::Quatf</a> = <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; float &gt;</td></tr>
<tr class="separator:gab0a5d5b9880b016c8995411a572353e2"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga719ebd4a73f30f4fab258ab7616d0f0f"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga719ebd4a73f30f4fab258ab7616d0f0f">cv::CovarFlags</a> { <br/>
  <a class="el" href="../../d0/de1/group__core.html#gga719ebd4a73f30f4fab258ab7616d0f0fa6fb4e6e0255e4fe67972a00d1c7936d6">cv::COVAR_SCRAMBLED</a> = 0, 
<br/>
  <a class="el" href="../../d0/de1/group__core.html#gga719ebd4a73f30f4fab258ab7616d0f0fa5ff1530be25ae14f9a652788a4c26a92">cv::COVAR_NORMAL</a> = 1, 
<br/>
  <a class="el" href="../../d0/de1/group__core.html#gga719ebd4a73f30f4fab258ab7616d0f0fa460c69e5ccfb86ea54c61222ab62dea6">cv::COVAR_USE_AVG</a> = 2, 
<br/>
  <a class="el" href="../../d0/de1/group__core.html#gga719ebd4a73f30f4fab258ab7616d0f0fac9b7943fc9402898978cbfa22717441c">cv::COVAR_SCALE</a> = 4, 
<br/>
  <a class="el" href="../../d0/de1/group__core.html#gga719ebd4a73f30f4fab258ab7616d0f0fadbac775ac8245aad5bfef994731c635f">cv::COVAR_ROWS</a> = 8, 
<br/>
  <a class="el" href="../../d0/de1/group__core.html#gga719ebd4a73f30f4fab258ab7616d0f0fac8cc5a80914e18d6100184a2829aa3c0">cv::COVAR_COLS</a> = 16
<br/>
 }<tr class="memdesc:ga719ebd4a73f30f4fab258ab7616d0f0f"><td class="mdescLeft"> </td><td class="mdescRight">Covariation flags.  <a href="../../d0/de1/group__core.html#ga719ebd4a73f30f4fab258ab7616d0f0f">More...</a><br/></td></tr>
</td></tr>
<tr class="separator:ga719ebd4a73f30f4fab258ab7616d0f0f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga935c8234953e2a2c8557c019ad8d509e"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">cv::QuatAssumeType</a> { <br/>
  <a class="el" href="../../d0/de1/group__core.html#gga935c8234953e2a2c8557c019ad8d509ea786f758552bf7be9ee5f12ca2157cf8f">cv::QUAT_ASSUME_NOT_UNIT</a>, 
<br/>
  <a class="el" href="../../d0/de1/group__core.html#gga935c8234953e2a2c8557c019ad8d509ea87af033c2248f7a0b4548ffa56afc697">cv::QUAT_ASSUME_UNIT</a>
<br/>
 }<tr class="memdesc:ga935c8234953e2a2c8557c019ad8d509e"><td class="mdescLeft"> </td><td class="mdescRight">Unit quaternion flag.  <a href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">More...</a><br/></td></tr>
</td></tr>
<tr class="separator:ga935c8234953e2a2c8557c019ad8d509e"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga318bbf6d2b3f59044437bfa5205bac96"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga318bbf6d2b3f59044437bfa5205bac96"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga318bbf6d2b3f59044437bfa5205bac96">cv::acos</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q)</td></tr>
<tr class="separator:ga318bbf6d2b3f59044437bfa5205bac96"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga225baf94a87d765bbe4930c8b0ea2dd5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga225baf94a87d765bbe4930c8b0ea2dd5"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga225baf94a87d765bbe4930c8b0ea2dd5">cv::acosh</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q)</td></tr>
<tr class="separator:ga225baf94a87d765bbe4930c8b0ea2dd5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga6fc601123d390aadc313aaaa0261c7d9"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga6fc601123d390aadc313aaaa0261c7d9"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga6fc601123d390aadc313aaaa0261c7d9">cv::asin</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q)</td></tr>
<tr class="separator:ga6fc601123d390aadc313aaaa0261c7d9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga0cfa077470cefb85b297223f6d8dd5dd"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga0cfa077470cefb85b297223f6d8dd5dd"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga0cfa077470cefb85b297223f6d8dd5dd">cv::asinh</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q)</td></tr>
<tr class="separator:ga0cfa077470cefb85b297223f6d8dd5dd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga698c37839d751aaee3331d62fd13528b"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga698c37839d751aaee3331d62fd13528b"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga698c37839d751aaee3331d62fd13528b">cv::atan</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q)</td></tr>
<tr class="separator:ga698c37839d751aaee3331d62fd13528b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gad537654ff648d1d48ea3e0a0808263d1"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gad537654ff648d1d48ea3e0a0808263d1"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#gad537654ff648d1d48ea3e0a0808263d1">cv::atanh</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q)</td></tr>
<tr class="separator:gad537654ff648d1d48ea3e0a0808263d1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaf0f2fe47183d063fb7415097fbadb570"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gaf0f2fe47183d063fb7415097fbadb570"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#gaf0f2fe47183d063fb7415097fbadb570">cv::cos</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q)</td></tr>
<tr class="separator:gaf0f2fe47183d063fb7415097fbadb570"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gacebb73e7dfa756a34ac415c850a40e17"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gacebb73e7dfa756a34ac415c850a40e17"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#gacebb73e7dfa756a34ac415c850a40e17">cv::cosh</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q)</td></tr>
<tr class="separator:gacebb73e7dfa756a34ac415c850a40e17"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga64ec21e57dd2eccc25c25b5911a7ff3b"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga64ec21e57dd2eccc25c25b5911a7ff3b"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga64ec21e57dd2eccc25c25b5911a7ff3b">cv::crossProduct</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;p, const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q)</td></tr>
<tr class="separator:ga64ec21e57dd2eccc25c25b5911a7ff3b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga96ff82d32417d677722a7e786425c98e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga96ff82d32417d677722a7e786425c98e"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga96ff82d32417d677722a7e786425c98e">cv::exp</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q)</td></tr>
<tr class="separator:ga96ff82d32417d677722a7e786425c98e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gafaf5d86a8c4a462790c81f2959fe5941"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gafaf5d86a8c4a462790c81f2959fe5941"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#gafaf5d86a8c4a462790c81f2959fe5941">cv::inv</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q, <a class="el" href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">QuatAssumeType</a> assumeUnit=<a class="el" href="../../d0/de1/group__core.html#gga935c8234953e2a2c8557c019ad8d509ea786f758552bf7be9ee5f12ca2157cf8f">QUAT_ASSUME_NOT_UNIT</a>)</td></tr>
<tr class="separator:gafaf5d86a8c4a462790c81f2959fe5941"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga4eba02a849f926ee1764acde47108753"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga4eba02a849f926ee1764acde47108753"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga4eba02a849f926ee1764acde47108753">cv::log</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q, <a class="el" href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">QuatAssumeType</a> assumeUnit=<a class="el" href="../../d0/de1/group__core.html#gga935c8234953e2a2c8557c019ad8d509ea786f758552bf7be9ee5f12ca2157cf8f">QUAT_ASSUME_NOT_UNIT</a>)</td></tr>
<tr class="separator:ga4eba02a849f926ee1764acde47108753"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gac57f9a35a5d4d1d3ba23d7871113cbd3"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gac57f9a35a5d4d1d3ba23d7871113cbd3"><td align="right" class="memTemplItemLeft" valign="top">static <a class="el" href="../../dd/d99/classcv_1_1Affine3.html">Affine3</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#gac57f9a35a5d4d1d3ba23d7871113cbd3">cv::operator*</a> (const <a class="el" href="../../dd/d99/classcv_1_1Affine3.html">Affine3</a>&lt; T &gt; &amp;affine1, const <a class="el" href="../../dd/d99/classcv_1_1Affine3.html">Affine3</a>&lt; T &gt; &amp;affine2)</td></tr>
<tr class="separator:gac57f9a35a5d4d1d3ba23d7871113cbd3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gae9c102e6fd783bcf801e3432aca22e7b"><td class="memTemplParams" colspan="2">template&lt;typename T , typename V &gt; </td></tr>
<tr class="memitem:gae9c102e6fd783bcf801e3432aca22e7b"><td align="right" class="memTemplItemLeft" valign="top">static V </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#gae9c102e6fd783bcf801e3432aca22e7b">cv::operator*</a> (const <a class="el" href="../../dd/d99/classcv_1_1Affine3.html">Affine3</a>&lt; T &gt; &amp;affine, const V &amp;vector)</td></tr>
<tr class="memdesc:gae9c102e6fd783bcf801e3432aca22e7b"><td class="mdescLeft"> </td><td class="mdescRight">V is a 3-element vector with member fields x, y and z.  <a href="../../d0/de1/group__core.html#gae9c102e6fd783bcf801e3432aca22e7b">More...</a><br/></td></tr>
<tr class="separator:gae9c102e6fd783bcf801e3432aca22e7b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga548eb6a25623179405f13cad3954c01e"><td align="right" class="memItemLeft" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#gab9e0ab642a3e01742916763173b72232">Vec3f</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga548eb6a25623179405f13cad3954c01e">cv::operator*</a> (const <a class="el" href="../../d0/de1/group__core.html#gae10a81cba3f3232648be48e28759a7bc">Affine3f</a> &amp;affine, const <a class="el" href="../../dc/d84/group__core__basic.html#gab9e0ab642a3e01742916763173b72232">Vec3f</a> &amp;vector)</td></tr>
<tr class="separator:ga548eb6a25623179405f13cad3954c01e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaa607fd3c66c5c525cc4d39dc83ffd177"><td align="right" class="memItemLeft" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga370d94209693b5b13437ab4991cabf73">Vec3d</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#gaa607fd3c66c5c525cc4d39dc83ffd177">cv::operator*</a> (const <a class="el" href="../../d0/de1/group__core.html#ga0b49177f52ed1b43e3f5a198baeee203">Affine3d</a> &amp;affine, const <a class="el" href="../../dc/d84/group__core__basic.html#ga370d94209693b5b13437ab4991cabf73">Vec3d</a> &amp;vector)</td></tr>
<tr class="separator:gaa607fd3c66c5c525cc4d39dc83ffd177"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga62d7e23fa9ea214d2ad6f92364cdb5a3"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga62d7e23fa9ea214d2ad6f92364cdb5a3"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga62d7e23fa9ea214d2ad6f92364cdb5a3">cv::operator*</a> (const T, const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;)</td></tr>
<tr class="separator:ga62d7e23fa9ea214d2ad6f92364cdb5a3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gad3a71bd72f94ad46b5694ffaff3d729a"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gad3a71bd72f94ad46b5694ffaff3d729a"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#gad3a71bd72f94ad46b5694ffaff3d729a">cv::operator*</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;, const T)</td></tr>
<tr class="separator:gad3a71bd72f94ad46b5694ffaff3d729a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gafdef54942b265b663de6bbc789d306e4"><td class="memTemplParams" colspan="2">template&lt;typename _Tp &gt; </td></tr>
<tr class="memitem:gafdef54942b265b663de6bbc789d306e4"><td align="right" class="memTemplItemLeft" valign="top">std::ostream &amp; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#gafdef54942b265b663de6bbc789d306e4">cv::operator&lt;&lt;</a> (std::ostream &amp;, const <a class="el" href="../../d4/db4/classcv_1_1DualQuat.html">DualQuat</a>&lt; _Tp &gt; &amp;)</td></tr>
<tr class="separator:gafdef54942b265b663de6bbc789d306e4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga2c4455e18bf344ab22a377027494507e"><td class="memTemplParams" colspan="2">template&lt;typename _Tp &gt; </td></tr>
<tr class="memitem:ga2c4455e18bf344ab22a377027494507e"><td align="right" class="memTemplItemLeft" valign="top">std::ostream &amp; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga2c4455e18bf344ab22a377027494507e">cv::operator&lt;&lt;</a> (std::ostream &amp;, const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; _Tp &gt; &amp;)</td></tr>
<tr class="separator:ga2c4455e18bf344ab22a377027494507e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7fe4c56d24204b2abf7715baa7c8a031"><td class="memTemplParams" colspan="2">template&lt;typename S &gt; </td></tr>
<tr class="memitem:ga7fe4c56d24204b2abf7715baa7c8a031"><td align="right" class="memTemplItemLeft" valign="top">std::ostream &amp; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga7fe4c56d24204b2abf7715baa7c8a031">cv::operator&lt;&lt;</a> (std::ostream &amp;, const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; S &gt; &amp;)</td></tr>
<tr class="separator:ga7fe4c56d24204b2abf7715baa7c8a031"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga18f51c22dcd55f668c25cc3b919366ed"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga18f51c22dcd55f668c25cc3b919366ed"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga18f51c22dcd55f668c25cc3b919366ed">cv::power</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q, const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;p, <a class="el" href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">QuatAssumeType</a> assumeUnit=<a class="el" href="../../d0/de1/group__core.html#gga935c8234953e2a2c8557c019ad8d509ea786f758552bf7be9ee5f12ca2157cf8f">QUAT_ASSUME_NOT_UNIT</a>)</td></tr>
<tr class="separator:ga18f51c22dcd55f668c25cc3b919366ed"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gae3ff963036a5acc11e9816e62452a5dc"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gae3ff963036a5acc11e9816e62452a5dc"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#gae3ff963036a5acc11e9816e62452a5dc">cv::power</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q, const T x, <a class="el" href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">QuatAssumeType</a> assumeUnit=<a class="el" href="../../d0/de1/group__core.html#gga935c8234953e2a2c8557c019ad8d509ea786f758552bf7be9ee5f12ca2157cf8f">QUAT_ASSUME_NOT_UNIT</a>)</td></tr>
<tr class="separator:gae3ff963036a5acc11e9816e62452a5dc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga53a8656033a51db64caa72ee9d4e93b4"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga53a8656033a51db64caa72ee9d4e93b4"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga53a8656033a51db64caa72ee9d4e93b4">cv::sin</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q)</td></tr>
<tr class="separator:ga53a8656033a51db64caa72ee9d4e93b4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga8201286a9e4db514b71f97c9f265f524"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga8201286a9e4db514b71f97c9f265f524"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga8201286a9e4db514b71f97c9f265f524">cv::sinh</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q)</td></tr>
<tr class="separator:ga8201286a9e4db514b71f97c9f265f524"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga9070b6a3f093dd952d973819b06f4906"><td class="memTemplParams" colspan="2">template&lt;typename S &gt; </td></tr>
<tr class="memitem:ga9070b6a3f093dd952d973819b06f4906"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; S &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga9070b6a3f093dd952d973819b06f4906">cv::sqrt</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; S &gt; &amp;q, <a class="el" href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">QuatAssumeType</a> assumeUnit=<a class="el" href="../../d0/de1/group__core.html#gga935c8234953e2a2c8557c019ad8d509ea786f758552bf7be9ee5f12ca2157cf8f">QUAT_ASSUME_NOT_UNIT</a>)</td></tr>
<tr class="separator:ga9070b6a3f093dd952d973819b06f4906"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gafbc8f513f40dc1b7c2d48ea6a5a81776"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#gafbc8f513f40dc1b7c2d48ea6a5a81776">cv::swap</a> (<a class="el" href="../../d3/d63/classcv_1_1Mat.html">Mat</a> &amp;a, <a class="el" href="../../d3/d63/classcv_1_1Mat.html">Mat</a> &amp;b)</td></tr>
<tr class="memdesc:gafbc8f513f40dc1b7c2d48ea6a5a81776"><td class="mdescLeft"> </td><td class="mdescRight">Swaps two matrices.  <a href="../../d0/de1/group__core.html#gafbc8f513f40dc1b7c2d48ea6a5a81776">More...</a><br/></td></tr>
<tr class="separator:gafbc8f513f40dc1b7c2d48ea6a5a81776"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaac41913cb7239fd2771b3c3f25349fe0"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#gaac41913cb7239fd2771b3c3f25349fe0">cv::swap</a> (<a class="el" href="../../d7/d45/classcv_1_1UMat.html">UMat</a> &amp;a, <a class="el" href="../../d7/d45/classcv_1_1UMat.html">UMat</a> &amp;b)</td></tr>
<tr class="separator:gaac41913cb7239fd2771b3c3f25349fe0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga46494f350417a0795f89645f45f1f4f3"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga46494f350417a0795f89645f45f1f4f3"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga46494f350417a0795f89645f45f1f4f3">cv::tan</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q)</td></tr>
<tr class="separator:ga46494f350417a0795f89645f45f1f4f3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga1c3ad52668041ecd803d1c0fc0b643c8"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga1c3ad52668041ecd803d1c0fc0b643c8"><td align="right" class="memTemplItemLeft" valign="top"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d0/de1/group__core.html#ga1c3ad52668041ecd803d1c0fc0b643c8">cv::tanh</a> (const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp;q)</td></tr>
<tr class="separator:ga1c3ad52668041ecd803d1c0fc0b643c8"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a id="details" name="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga0b49177f52ed1b43e3f5a198baeee203"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0b49177f52ed1b43e3f5a198baeee203">◆ </a></span>Affine3d</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="../../dd/d99/classcv_1_1Affine3.html">Affine3</a>&lt;double&gt; <a class="el" href="../../d0/de1/group__core.html#ga0b49177f52ed1b43e3f5a198baeee203">cv::Affine3d</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../de/d48/affine_8hpp.html">opencv2/core/affine.hpp</a>&gt;</code></p>
</div>
</div>
<a id="gae10a81cba3f3232648be48e28759a7bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae10a81cba3f3232648be48e28759a7bc">◆ </a></span>Affine3f</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="../../dd/d99/classcv_1_1Affine3.html">Affine3</a>&lt;float&gt; <a class="el" href="../../d0/de1/group__core.html#gae10a81cba3f3232648be48e28759a7bc">cv::Affine3f</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../de/d48/affine_8hpp.html">opencv2/core/affine.hpp</a>&gt;</code></p>
</div>
</div>
<a id="ga1713065384a5cd1ce3ecdff9ebf5cf6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1713065384a5cd1ce3ecdff9ebf5cf6b">◆ </a></span>DualQuatd</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="../../d0/de1/group__core.html#ga1713065384a5cd1ce3ecdff9ebf5cf6b">cv::DualQuatd</a> = typedef <a class="el" href="../../d4/db4/classcv_1_1DualQuat.html">DualQuat</a>&lt;double&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../d2/dfa/dualquaternion_8hpp.html">opencv2/core/dualquaternion.hpp</a>&gt;</code></p>
</div>
</div>
<a id="ga3decc28a45aaf3a829515f667b683979"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3decc28a45aaf3a829515f667b683979">◆ </a></span>DualQuatf</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="../../d0/de1/group__core.html#ga3decc28a45aaf3a829515f667b683979">cv::DualQuatf</a> = typedef <a class="el" href="../../d4/db4/classcv_1_1DualQuat.html">DualQuat</a>&lt;float&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../d2/dfa/dualquaternion_8hpp.html">opencv2/core/dualquaternion.hpp</a>&gt;</code></p>
</div>
</div>
<a id="ga649715908b1dc7fc2496df48dd5fff64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga649715908b1dc7fc2496df48dd5fff64">◆ </a></span>Quatd</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">cv::Quatd</a> = typedef <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;double&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
</div>
</div>
<a id="gab0a5d5b9880b016c8995411a572353e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab0a5d5b9880b016c8995411a572353e2">◆ </a></span>Quatf</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="../../d0/de1/group__core.html#gab0a5d5b9880b016c8995411a572353e2">cv::Quatf</a> = typedef <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;float&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga719ebd4a73f30f4fab258ab7616d0f0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga719ebd4a73f30f4fab258ab7616d0f0f">◆ </a></span>CovarFlags</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="../../d0/de1/group__core.html#ga719ebd4a73f30f4fab258ab7616d0f0f">cv::CovarFlags</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../d0/d9c/core_2include_2opencv2_2core_8hpp.html">opencv2/core.hpp</a>&gt;</code></p>
<p>Covariation flags. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga719ebd4a73f30f4fab258ab7616d0f0fa6fb4e6e0255e4fe67972a00d1c7936d6"></a>COVAR_SCRAMBLED <div class="python_language">Python: cv.COVAR_SCRAMBLED</div></td><td class="fielddoc"><p>The output covariance matrix is calculated as: </p><p class="formulaDsp">
\[\texttt{scale} \cdot [ \texttt{vects} [0]- \texttt{mean} , \texttt{vects} [1]- \texttt{mean} ,...]^T \cdot [ \texttt{vects} [0]- \texttt{mean} , \texttt{vects} [1]- \texttt{mean} ,...],\]
</p>
<p> The covariance matrix will be nsamples x nsamples. Such an unusual covariance matrix is used for fast <a class="el" href="../../d3/d8d/classcv_1_1PCA.html" title="Principal Component Analysis. ">PCA</a> of a set of very large vectors (see, for example, the EigenFaces technique for face recognition). Eigenvalues of this "scrambled" matrix match the eigenvalues of the true covariance matrix. The "true" eigenvectors can be easily calculated from the eigenvectors of the "scrambled" covariance matrix. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga719ebd4a73f30f4fab258ab7616d0f0fa5ff1530be25ae14f9a652788a4c26a92"></a>COVAR_NORMAL <div class="python_language">Python: cv.COVAR_NORMAL</div></td><td class="fielddoc"><p>The output covariance matrix is calculated as: </p><p class="formulaDsp">
\[\texttt{scale} \cdot [ \texttt{vects} [0]- \texttt{mean} , \texttt{vects} [1]- \texttt{mean} ,...] \cdot [ \texttt{vects} [0]- \texttt{mean} , \texttt{vects} [1]- \texttt{mean} ,...]^T,\]
</p>
<p> covar will be a square matrix of the same size as the total number of elements in each input vector. One and only one of <a class="el" href="../../d0/de1/group__core.html#gga719ebd4a73f30f4fab258ab7616d0f0fa6fb4e6e0255e4fe67972a00d1c7936d6">COVAR_SCRAMBLED</a> and <a class="el" href="../../d0/de1/group__core.html#gga719ebd4a73f30f4fab258ab7616d0f0fa5ff1530be25ae14f9a652788a4c26a92">COVAR_NORMAL</a> must be specified. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga719ebd4a73f30f4fab258ab7616d0f0fa460c69e5ccfb86ea54c61222ab62dea6"></a>COVAR_USE_AVG <div class="python_language">Python: cv.COVAR_USE_AVG</div></td><td class="fielddoc"><p>If the flag is specified, the function does not calculate mean from the input vectors but, instead, uses the passed mean vector. This is useful if mean has been pre-calculated or known in advance, or if the covariance matrix is calculated by parts. In this case, mean is not a mean vector of the input sub-set of vectors but rather the mean vector of the whole set. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga719ebd4a73f30f4fab258ab7616d0f0fac9b7943fc9402898978cbfa22717441c"></a>COVAR_SCALE <div class="python_language">Python: cv.COVAR_SCALE</div></td><td class="fielddoc"><p>If the flag is specified, the covariance matrix is scaled. In the "normal" mode, scale is 1./nsamples . In the "scrambled" mode, scale is the reciprocal of the total number of elements in each input vector. By default (if the flag is not specified), the covariance matrix is not scaled ( scale=1 ). </p>
</td></tr>
<tr><td class="fieldname"><a id="gga719ebd4a73f30f4fab258ab7616d0f0fadbac775ac8245aad5bfef994731c635f"></a>COVAR_ROWS <div class="python_language">Python: cv.COVAR_ROWS</div></td><td class="fielddoc"><p>If the flag is specified, all the input vectors are stored as rows of the samples matrix. mean should be a single-row vector in this case. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga719ebd4a73f30f4fab258ab7616d0f0fac8cc5a80914e18d6100184a2829aa3c0"></a>COVAR_COLS <div class="python_language">Python: cv.COVAR_COLS</div></td><td class="fielddoc"><p>If the flag is specified, all the input vectors are stored as columns of the samples matrix. mean should be a single-column vector in this case. </p>
</td></tr>
</table>
</div>
</div>
<a id="ga935c8234953e2a2c8557c019ad8d509e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga935c8234953e2a2c8557c019ad8d509e">◆ </a></span>QuatAssumeType</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">cv::QuatAssumeType</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<p>Unit quaternion flag. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga935c8234953e2a2c8557c019ad8d509ea786f758552bf7be9ee5f12ca2157cf8f"></a>QUAT_ASSUME_NOT_UNIT <div class="python_language">Python: cv.QUAT_ASSUME_NOT_UNIT</div></td><td class="fielddoc"><p>This flag is specified by default. If this flag is specified, the input quaternions are assumed to be not unit quaternions. It can guarantee the correctness of the calculations, although the calculation speed will be slower than the flag QUAT_ASSUME_UNIT. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga935c8234953e2a2c8557c019ad8d509ea87af033c2248f7a0b4548ffa56afc697"></a>QUAT_ASSUME_UNIT <div class="python_language">Python: cv.QUAT_ASSUME_UNIT</div></td><td class="fielddoc"><p>If this flag is specified, the input quaternions are assumed to be unit quaternions which will save some computations. However, if this flag is specified without unit quaternion, the program correctness of the result will not be guaranteed. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga318bbf6d2b3f59044437bfa5205bac96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga318bbf6d2b3f59044437bfa5205bac96">◆ </a></span>acos()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::acos </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q(1,2,3,4);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga318bbf6d2b3f59044437bfa5205bac96">acos</a>(q);</div></div><!-- fragment --> 
</div>
</div>
<a id="ga225baf94a87d765bbe4930c8b0ea2dd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga225baf94a87d765bbe4930c8b0ea2dd5">◆ </a></span>acosh()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::acosh </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q(1,2,3,4);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga225baf94a87d765bbe4930c8b0ea2dd5">acosh</a>(q);</div></div><!-- fragment --> 
</div>
</div>
<a id="ga6fc601123d390aadc313aaaa0261c7d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6fc601123d390aadc313aaaa0261c7d9">◆ </a></span>asin()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::asin </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q(1,2,3,4);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga6fc601123d390aadc313aaaa0261c7d9">asin</a>(q);</div></div><!-- fragment --> 
</div>
</div>
<a id="ga0cfa077470cefb85b297223f6d8dd5dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0cfa077470cefb85b297223f6d8dd5dd">◆ </a></span>asinh()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::asinh </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q(1,2,3,4);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga0cfa077470cefb85b297223f6d8dd5dd">asinh</a>(q);</div></div><!-- fragment --> 
</div>
</div>
<a id="ga698c37839d751aaee3331d62fd13528b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga698c37839d751aaee3331d62fd13528b">◆ </a></span>atan()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::atan </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q(1,2,3,4);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga698c37839d751aaee3331d62fd13528b">atan</a>(q);</div></div><!-- fragment --> 
</div>
</div>
<a id="gad537654ff648d1d48ea3e0a0808263d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad537654ff648d1d48ea3e0a0808263d1">◆ </a></span>atanh()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::atanh </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q(1,2,3,4);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#gad537654ff648d1d48ea3e0a0808263d1">atanh</a>(q);</div></div><!-- fragment --> 
</div>
</div>
<a id="gaf0f2fe47183d063fb7415097fbadb570"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf0f2fe47183d063fb7415097fbadb570">◆ </a></span>cos()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::cos </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q(1,2,3,4);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#gaf0f2fe47183d063fb7415097fbadb570">cos</a>(q);</div></div><!-- fragment --> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="../../da/d32/samples_2cpp_2contours2_8cpp-example.html#a16">samples/cpp/contours2.cpp</a>, <a class="el" href="../../dd/d93/samples_2cpp_2image_alignment_8cpp-example.html#a36">samples/cpp/image_alignment.cpp</a>, <a class="el" href="../../de/d70/samples_2cpp_2kalman_8cpp-example.html#a3">samples/cpp/kalman.cpp</a>, <a class="el" href="../../d4/d35/samples_2cpp_2polar_transforms_8cpp-example.html#a30">samples/cpp/polar_transforms.cpp</a>, <a class="el" href="../../d5/df9/samples_2cpp_2tutorial_code_2ImgTrans_2houghlines_8cpp-example.html#a12">samples/cpp/tutorial_code/ImgTrans/houghlines.cpp</a>, and <a class="el" href="../../da/d94/samples_2cpp_2tutorial_code_2ml_2introduction_to_pca_2introduction_to_pca_8cpp-example.html#a9">samples/cpp/tutorial_code/ml/introduction_to_pca/introduction_to_pca.cpp</a>.</dd>
</dl>
</div>
</div>
<a id="gacebb73e7dfa756a34ac415c850a40e17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacebb73e7dfa756a34ac415c850a40e17">◆ </a></span>cosh()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::cosh </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q(1,2,3,4);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#gacebb73e7dfa756a34ac415c850a40e17">cosh</a>(q);</div></div><!-- fragment --> 
</div>
</div>
<a id="ga64ec21e57dd2eccc25c25b5911a7ff3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga64ec21e57dd2eccc25c25b5911a7ff3b">◆ </a></span>crossProduct()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::crossProduct </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q{1,2,3,4};</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> p{5,6,7,8};</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga64ec21e57dd2eccc25c25b5911a7ff3b">crossProduct</a>(p, q);</div></div><!-- fragment --> 
</div>
</div>
<a id="ga96ff82d32417d677722a7e786425c98e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga96ff82d32417d677722a7e786425c98e">◆ </a></span>exp()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::exp </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>dst</td><td>=</td><td>cv.exp(</td><td class="paramname">src[, dst]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion.</td></tr>
  </table>
  </dd>
</dl>
<p>For example: </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q{1,2,3,4};</div><div class="line">cout &lt;&lt; <a class="code" href="../../d0/de1/group__core.html#ga96ff82d32417d677722a7e786425c98e">exp</a>(q) &lt;&lt; endl;</div></div><!-- fragment --> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="../../d4/d35/samples_2cpp_2polar_transforms_8cpp-example.html#a29">samples/cpp/polar_transforms.cpp</a>.</dd>
</dl>
</div>
</div>
<a id="gafaf5d86a8c4a462790c81f2959fe5941"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafaf5d86a8c4a462790c81f2959fe5941">◆ </a></span>inv()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::inv </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">QuatAssumeType</a> </td>
          <td class="paramname"><em>assumeUnit</em> = <code><a class="el" href="../../d0/de1/group__core.html#gga935c8234953e2a2c8557c019ad8d509ea786f758552bf7be9ee5f12ca2157cf8f">QUAT_ASSUME_NOT_UNIT</a></code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion. </td></tr>
    <tr><td class="paramname">assumeUnit</td><td>if QUAT_ASSUME_UNIT, quaternion q assume to be a unit quaternion and this function will save some computations.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q(1,2,3,4);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#gafaf5d86a8c4a462790c81f2959fe5941">inv</a>(q);</div><div class="line"></div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">QuatAssumeType</a> assumeUnit = <a class="code" href="../../d0/de1/group__core.html#gga935c8234953e2a2c8557c019ad8d509ea87af033c2248f7a0b4548ffa56afc697">QUAT_ASSUME_UNIT</a>;</div><div class="line">q = q.normalize();</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#gafaf5d86a8c4a462790c81f2959fe5941">inv</a>(q, assumeUnit);<span class="comment">//This assumeUnit means p is a unit quaternion</span></div></div><!-- fragment --> 
</div>
</div>
<a id="ga4eba02a849f926ee1764acde47108753"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4eba02a849f926ee1764acde47108753">◆ </a></span>log()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::log </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">QuatAssumeType</a> </td>
          <td class="paramname"><em>assumeUnit</em> = <code><a class="el" href="../../d0/de1/group__core.html#gga935c8234953e2a2c8557c019ad8d509ea786f758552bf7be9ee5f12ca2157cf8f">QUAT_ASSUME_NOT_UNIT</a></code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>dst</td><td>=</td><td>cv.log(</td><td class="paramname">src[, dst]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion. </td></tr>
    <tr><td class="paramname">assumeUnit</td><td>if QUAT_ASSUME_UNIT, q assume to be a unit quaternion and this function will save some computations.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q1{1,2,3,4};</div><div class="line">cout &lt;&lt; <a class="code" href="../../d0/de1/group__core.html#ga4eba02a849f926ee1764acde47108753">log</a>(q1) &lt;&lt; endl;</div></div><!-- fragment --> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="../../d4/d35/samples_2cpp_2polar_transforms_8cpp-example.html#a18">samples/cpp/polar_transforms.cpp</a>, and <a class="el" href="../../d9/dd8/samples_2cpp_2stitching_detailed_8cpp-example.html#a59">samples/cpp/stitching_detailed.cpp</a>.</dd>
</dl>
</div>
</div>
<a id="gac57f9a35a5d4d1d3ba23d7871113cbd3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac57f9a35a5d4d1d3ba23d7871113cbd3">◆ </a></span>operator*() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="../../dd/d99/classcv_1_1Affine3.html">Affine3</a>&lt;T&gt; cv::operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../dd/d99/classcv_1_1Affine3.html">Affine3</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>affine1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../dd/d99/classcv_1_1Affine3.html">Affine3</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>affine2</em> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../de/d48/affine_8hpp.html">opencv2/core/affine.hpp</a>&gt;</code></p>
</div>
</div>
<a id="gae9c102e6fd783bcf801e3432aca22e7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae9c102e6fd783bcf801e3432aca22e7b">◆ </a></span>operator*() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , typename V &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static V cv::operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../dd/d99/classcv_1_1Affine3.html">Affine3</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>affine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const V &amp; </td>
          <td class="paramname"><em>vector</em> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../de/d48/affine_8hpp.html">opencv2/core/affine.hpp</a>&gt;</code></p>
<p>V is a 3-element vector with member fields x, y and z. </p>
</div>
</div>
<a id="ga548eb6a25623179405f13cad3954c01e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga548eb6a25623179405f13cad3954c01e">◆ </a></span>operator*() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="../../dc/d84/group__core__basic.html#gab9e0ab642a3e01742916763173b72232">Vec3f</a> cv::operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d0/de1/group__core.html#gae10a81cba3f3232648be48e28759a7bc">Affine3f</a> &amp; </td>
          <td class="paramname"><em>affine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#gab9e0ab642a3e01742916763173b72232">Vec3f</a> &amp; </td>
          <td class="paramname"><em>vector</em> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../de/d48/affine_8hpp.html">opencv2/core/affine.hpp</a>&gt;</code></p>
</div>
</div>
<a id="gaa607fd3c66c5c525cc4d39dc83ffd177"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa607fd3c66c5c525cc4d39dc83ffd177">◆ </a></span>operator*() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="../../dc/d84/group__core__basic.html#ga370d94209693b5b13437ab4991cabf73">Vec3d</a> cv::operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d0/de1/group__core.html#ga0b49177f52ed1b43e3f5a198baeee203">Affine3d</a> &amp; </td>
          <td class="paramname"><em>affine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#ga370d94209693b5b13437ab4991cabf73">Vec3d</a> &amp; </td>
          <td class="paramname"><em>vector</em> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../de/d48/affine_8hpp.html">opencv2/core/affine.hpp</a>&gt;</code></p>
</div>
</div>
<a id="ga62d7e23fa9ea214d2ad6f92364cdb5a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga62d7e23fa9ea214d2ad6f92364cdb5a3">◆ </a></span>operator*() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::operator* </td>
          <td>(</td>
          <td class="paramtype">const T </td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
</div>
</div>
<a id="gad3a71bd72f94ad46b5694ffaff3d729a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad3a71bd72f94ad46b5694ffaff3d729a">◆ </a></span>operator*() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T </td>
          <td class="paramname"> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
</div>
</div>
<a id="gafdef54942b265b663de6bbc789d306e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafdef54942b265b663de6bbc789d306e4">◆ </a></span>operator&lt;&lt;() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; cv::operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp; </td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../d4/db4/classcv_1_1DualQuat.html">DualQuat</a>&lt; _Tp &gt; &amp; </td>
          <td class="paramname"> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../d2/dfa/dualquaternion_8hpp.html">opencv2/core/dualquaternion.hpp</a>&gt;</code></p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="../../d2/dfd/samples_2cpp_2filestorage_8cpp-example.html#a6">samples/cpp/filestorage.cpp</a>.</dd>
</dl>
</div>
</div>
<a id="ga2c4455e18bf344ab22a377027494507e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2c4455e18bf344ab22a377027494507e">◆ </a></span>operator&lt;&lt;() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; cv::operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp; </td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; _Tp &gt; &amp; </td>
          <td class="paramname"> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
</div>
</div>
<a id="ga7fe4c56d24204b2abf7715baa7c8a031"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7fe4c56d24204b2abf7715baa7c8a031">◆ </a></span>operator&lt;&lt;() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; cv::operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp; </td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; S &gt; &amp; </td>
          <td class="paramname"> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
</div>
</div>
<a id="ga18f51c22dcd55f668c25cc3b919366ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga18f51c22dcd55f668c25cc3b919366ed">◆ </a></span>power() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::power </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">QuatAssumeType</a> </td>
          <td class="paramname"><em>assumeUnit</em> = <code><a class="el" href="../../d0/de1/group__core.html#gga935c8234953e2a2c8557c019ad8d509ea786f758552bf7be9ee5f12ca2157cf8f">QUAT_ASSUME_NOT_UNIT</a></code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>base quaternion of power function. </td></tr>
    <tr><td class="paramname">q</td><td>index quaternion of power function. </td></tr>
    <tr><td class="paramname">assumeUnit</td><td>if QUAT_ASSUME_UNIT, quaternion \(p\) assume to be a unit quaternion and this function will save some computations.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> p(1,2,3,4);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q(5,6,7,8);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga18f51c22dcd55f668c25cc3b919366ed">power</a>(p, q);</div><div class="line"></div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">QuatAssumeType</a> assumeUnit = <a class="code" href="../../d0/de1/group__core.html#gga935c8234953e2a2c8557c019ad8d509ea87af033c2248f7a0b4548ffa56afc697">QUAT_ASSUME_UNIT</a>;</div><div class="line">p = p.normalize();</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga18f51c22dcd55f668c25cc3b919366ed">power</a>(p, q, assumeUnit); <span class="comment">//This assumeUnit means p is a unit quaternion</span></div></div><!-- fragment --> 
</div>
</div>
<a id="gae3ff963036a5acc11e9816e62452a5dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae3ff963036a5acc11e9816e62452a5dc">◆ </a></span>power() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::power </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T </td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">QuatAssumeType</a> </td>
          <td class="paramname"><em>assumeUnit</em> = <code><a class="el" href="../../d0/de1/group__core.html#gga935c8234953e2a2c8557c019ad8d509ea786f758552bf7be9ee5f12ca2157cf8f">QUAT_ASSUME_NOT_UNIT</a></code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion. </td></tr>
    <tr><td class="paramname">x</td><td>index of exponentiation. </td></tr>
    <tr><td class="paramname">assumeUnit</td><td>if QUAT_ASSUME_UNIT, quaternion q assume to be a unit quaternion and this function will save some computations.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q(1,2,3,4);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga18f51c22dcd55f668c25cc3b919366ed">power</a>(q, 2.0);</div><div class="line"></div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">QuatAssumeType</a> assumeUnit = <a class="code" href="../../d0/de1/group__core.html#gga935c8234953e2a2c8557c019ad8d509ea87af033c2248f7a0b4548ffa56afc697">QUAT_ASSUME_UNIT</a>;</div><div class="line"><span class="keywordtype">double</span> angle = <a class="code" href="../../db/de0/group__core__utils.html#ga677b89fae9308b340ddaebf0dba8455f">CV_PI</a>;</div><div class="line"><a class="code" href="../../dc/d84/group__core__basic.html#ga370d94209693b5b13437ab4991cabf73">Vec3d</a> axis{0, 0, 1};</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q1 = <a class="code" href="../../da/d4a/classcv_1_1Quat.html#ab9b2bcb68e895895e61c826223e1ab55">Quatd::createFromAngleAxis</a>(angle, axis); <span class="comment">//generate a unit quat by axis and angle</span></div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga18f51c22dcd55f668c25cc3b919366ed">power</a>(q1, 2.0, assumeUnit);<span class="comment">//This assumeUnit means q1 is a unit quaternion.</span></div></div><!-- fragment --> <dl class="section note"><dt>Note</dt><dd>the type of the index should be the same as the quaternion. </dd></dl>
</div>
</div>
<a id="ga53a8656033a51db64caa72ee9d4e93b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga53a8656033a51db64caa72ee9d4e93b4">◆ </a></span>sin()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::sin </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q(1,2,3,4);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga53a8656033a51db64caa72ee9d4e93b4">sin</a>(q);</div></div><!-- fragment --> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="../../da/d32/samples_2cpp_2contours2_8cpp-example.html#a17">samples/cpp/contours2.cpp</a>, <a class="el" href="../../dd/d93/samples_2cpp_2image_alignment_8cpp-example.html#a37">samples/cpp/image_alignment.cpp</a>, <a class="el" href="../../de/d70/samples_2cpp_2kalman_8cpp-example.html#a4">samples/cpp/kalman.cpp</a>, <a class="el" href="../../d4/d35/samples_2cpp_2polar_transforms_8cpp-example.html#a31">samples/cpp/polar_transforms.cpp</a>, <a class="el" href="../../d5/df9/samples_2cpp_2tutorial_code_2ImgTrans_2houghlines_8cpp-example.html#a13">samples/cpp/tutorial_code/ImgTrans/houghlines.cpp</a>, and <a class="el" href="../../da/d94/samples_2cpp_2tutorial_code_2ml_2introduction_to_pca_2introduction_to_pca_8cpp-example.html#a10">samples/cpp/tutorial_code/ml/introduction_to_pca/introduction_to_pca.cpp</a>.</dd>
</dl>
</div>
</div>
<a id="ga8201286a9e4db514b71f97c9f265f524"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8201286a9e4db514b71f97c9f265f524">◆ </a></span>sinh()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::sinh </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q(1,2,3,4);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga8201286a9e4db514b71f97c9f265f524">sinh</a>(q);</div></div><!-- fragment --> 
</div>
</div>
<a id="ga9070b6a3f093dd952d973819b06f4906"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9070b6a3f093dd952d973819b06f4906">◆ </a></span>sqrt()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename S &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;S&gt; cv::sqrt </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; S &gt; &amp; </td>
          <td class="paramname"><em>q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d0/de1/group__core.html#ga935c8234953e2a2c8557c019ad8d509e">QuatAssumeType</a> </td>
          <td class="paramname"><em>assumeUnit</em> = <code><a class="el" href="../../d0/de1/group__core.html#gga935c8234953e2a2c8557c019ad8d509ea786f758552bf7be9ee5f12ca2157cf8f">QUAT_ASSUME_NOT_UNIT</a></code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>dst</td><td>=</td><td>cv.sqrt(</td><td class="paramname">src[, dst]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="../../de/d70/samples_2cpp_2kalman_8cpp-example.html#a29">samples/cpp/kalman.cpp</a>, <a class="el" href="../../db/d00/samples_2cpp_2squares_8cpp-example.html#a4">samples/cpp/squares.cpp</a>, <a class="el" href="../../d9/dd8/samples_2cpp_2stitching_detailed_8cpp-example.html#a10">samples/cpp/stitching_detailed.cpp</a>, <a class="el" href="../../d0/d92/samples_2cpp_2tutorial_code_2features2D_2Homography_2pose_from_homography_8cpp-example.html#a18">samples/cpp/tutorial_code/features2D/Homography/pose_from_homography.cpp</a>, <a class="el" href="../../da/d94/samples_2cpp_2tutorial_code_2ml_2introduction_to_pca_2introduction_to_pca_8cpp-example.html#a8">samples/cpp/tutorial_code/ml/introduction_to_pca/introduction_to_pca.cpp</a>, and <a class="el" href="../../de/dc0/samples_2tapi_2squares_8cpp-example.html#a3">samples/tapi/squares.cpp</a>.</dd>
</dl>
</div>
</div>
<a id="gafbc8f513f40dc1b7c2d48ea6a5a81776"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafbc8f513f40dc1b7c2d48ea6a5a81776">◆ </a></span>swap() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d3/d63/classcv_1_1Mat.html">Mat</a> &amp; </td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d3/d63/classcv_1_1Mat.html">Mat</a> &amp; </td>
          <td class="paramname"><em>b</em> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../d0/d9c/core_2include_2opencv2_2core_8hpp.html">opencv2/core.hpp</a>&gt;</code></p>
<p>Swaps two matrices. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="../../d2/d1d/samples_2cpp_2lkdemo_8cpp-example.html#a31">samples/cpp/lkdemo.cpp</a>, and <a class="el" href="../../de/dd4/samples_2cpp_2warpPerspective_demo_8cpp-example.html#a28">samples/cpp/warpPerspective_demo.cpp</a>.</dd>
</dl>
</div>
</div>
<a id="gaac41913cb7239fd2771b3c3f25349fe0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaac41913cb7239fd2771b3c3f25349fe0">◆ </a></span>swap() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d7/d45/classcv_1_1UMat.html">UMat</a> &amp; </td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d7/d45/classcv_1_1UMat.html">UMat</a> &amp; </td>
          <td class="paramname"><em>b</em> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../d0/d9c/core_2include_2opencv2_2core_8hpp.html">opencv2/core.hpp</a>&gt;</code></p>
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
</div>
</div>
<a id="ga46494f350417a0795f89645f45f1f4f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga46494f350417a0795f89645f45f1f4f3">◆ </a></span>tan()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::tan </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q(1,2,3,4);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga46494f350417a0795f89645f45f1f4f3">tan</a>(q);</div></div><!-- fragment --> 
</div>
</div>
<a id="ga1c3ad52668041ecd803d1c0fc0b643c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1c3ad52668041ecd803d1c0fc0b643c8">◆ </a></span>tanh()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt;T&gt; cv::tanh </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d4a/classcv_1_1Quat.html">Quat</a>&lt; T &gt; &amp; </td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d65/quaternion_8hpp.html">opencv2/core/quaternion.hpp</a>&gt;</code></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">q</td><td>a quaternion.</td></tr>
  </table>
  </dd>
</dl>
<p>For example </p><div class="fragment"><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga649715908b1dc7fc2496df48dd5fff64">Quatd</a> q(1,2,3,4);</div><div class="line"><a class="code" href="../../d0/de1/group__core.html#ga1c3ad52668041ecd803d1c0fc0b643c8">tanh</a>(q);</div></div><!-- fragment --> <dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/de1/group__core.html#ga8201286a9e4db514b71f97c9f265f524">sinh</a>, <a class="el" href="../../d0/de1/group__core.html#gacebb73e7dfa756a34ac415c850a40e17">cosh</a> </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.6-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 2 2021 11:36:40 for OpenCV by  <a href="http://www.doxygen.org/index.html">
<img alt="doxygen" class="footer" src="../../doxygen.png"/>
</a> 1.8.13
</small></address>
<script type="text/javascript">
//<![CDATA[
addTutorialsButtons();
//]]>
</script>
</body>
</html>
